package com.tengju.bff.interfaces.covercharge.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tengju.payment.domain.shard.JsonUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 自认证用户提现表
 * </p>
 *
 * @author zhaoyi
 * @since 2020-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("w_service_self_certification_withdraw")
public class ServiceSelfCertificationWithdraw implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 代理id_code
     */
    @TableField("id_code")
    private Integer idCode;

    /**
     * 服务费账户id
     */
    @TableField("account_id")
    private Integer accountId;

    /**
     * 自认证企业|个体工商id
     */
    @TableField("self_certification_id")
    private Integer selfCertificationId;

    /**
     * 申请的金额
     */
    @TableField("money")
    private BigDecimal money;

    /**
     * 银行卡号
     */
    @TableField("bank_no")
    private String bankNo;

    /**
     * 持卡人姓名
     */
    @TableField("card_holder")
    private String cardHolder;

    /**
     * 发票类型 1-增值税专用发票,2-增值税普通发票,3-普通机打发票
     */
    @TableField("invoice")
    private Integer invoice;

    /**
     * 开票时间
     */
    @TableField("invoice_at")
    private LocalDateTime invoiceAt;

    /**
     * 发票图片id,多张图片,号分割 w_attachment.id
     */
    @TableField("invoice_img")
    private String invoiceImg;

    /**
     * 类型 1-企业 2-个体工商户
     */
    @TableField("type")
    private Integer type;

    /**
     * 申请状态: 0-待审核,1-初审通过,2-初审拒绝,3-终审通过,4-终审拒绝,5-终止,6-发票已寄回(公司拒绝),7-发票已寄出(用户)
     */
    @TableField("status")
    private Integer status;

    /**
     * 审核人id w_admin.id
     */
    @TableField("admin_id")
    private Integer adminId;

    /**
     * 平台编号
     */
    @TableField("platform_code")
    private String platformCode;

    /**
     * 审核理由|拒绝原因
     */
    @TableField("remark")
    private String remark;

    /**
     * 申请备注
     */
    @TableField("apply_remark")
    private String applyRemark;

    /**
     * 申请理由
     */
    @TableField("reason")
    private Integer reason;

    /**
     * 审核理由
     */
    @TableField("reason_new")
    private String reasonNew;

    /**
     * 审核时间
     */
    @TableField("check_at")
    private LocalDateTime checkAt;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 审批人
     */
    @TableField("approvers")
    private String approvers;

    /**
     * 发放时间
     */
    @TableField("payment_time")
    private LocalDateTime paymentTime;

    /**
     * 发放时间
     */
    @TableField("recheck_at")
    private LocalDateTime recheckt;


    /**
     * 是否已打印
     */
    @TableField("is_print")
    private Integer isPrint;

    /**
     * 重试码
     */
    @TableField("retry_code")
    private String retryCode;

    /**
     * 请求码
     */
    @TableField("req_sn")
    private String reqSn;

    /**
     * 发放人
     */
    @TableField("people_paid")
    private String peoplePaid;

    /**
     *  渠道返回信息
     */
    @TableField("query_remark")
    private String queryRemark;

    /**
     *  发放备注
     */
    @TableField("issuing_note")
    private String issuingNote;

    @TableField("extra")
    private String extra;

}
